<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Faiss: faiss::gpu::DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Faiss
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacefaiss.html">faiss</a></li><li class="navelem"><b>gpu</b></li><li class="navelem"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classfaiss_1_1gpu_1_1DeviceTensor-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">faiss::gpu::DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for faiss::gpu::DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classfaiss_1_1gpu_1_1DeviceTensor.png" usemap="#faiss::gpu::DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;_map" alt=""/>
  <map id="faiss::gpu::DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;_map" name="faiss::gpu::DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;_map">
<area href="classfaiss_1_1gpu_1_1Tensor.html" title="Our tensor type. " alt="faiss::gpu::Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;" shape="rect" coords="0,0,387,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ab7431c4f7c198fb5734bbeb37a489f3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7431c4f7c198fb5734bbeb37a489f3a"></a>
typedef IndexT&#160;</td><td class="memItemRight" valign="bottom"><b>IndexType</b></td></tr>
<tr class="separator:ab7431c4f7c198fb5734bbeb37a489f3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2ac9bbe238903eed6977aed16f43533"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2ac9bbe238903eed6977aed16f43533"></a>
typedef PtrTraits&lt; T &gt;::PtrType&#160;</td><td class="memItemRight" valign="bottom"><b>DataPtrType</b></td></tr>
<tr class="separator:ae2ac9bbe238903eed6977aed16f43533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classfaiss_1_1gpu_1_1Tensor"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classfaiss_1_1gpu_1_1Tensor')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">faiss::gpu::Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;</a></td></tr>
<tr class="memitem:a072171dcad6979257d1d28dfdc9c6eb0 inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>NumDim</b> = Dim
 }</td></tr>
<tr class="separator:a072171dcad6979257d1d28dfdc9c6eb0 inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a828306db3c0bcaecca6d3888eb3bda24 inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>IsInnerContig</b> = InnerContig
 }</td></tr>
<tr class="separator:a828306db3c0bcaecca6d3888eb3bda24 inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac93f0549a9f5445b661360d98f81a886 inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac93f0549a9f5445b661360d98f81a886"></a>
typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>DataType</b></td></tr>
<tr class="separator:ac93f0549a9f5445b661360d98f81a886 inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f1736cc50bddec6ccce56ae1a1cdbfd inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f1736cc50bddec6ccce56ae1a1cdbfd"></a>
typedef IndexT&#160;</td><td class="memItemRight" valign="bottom"><b>IndexType</b></td></tr>
<tr class="separator:a6f1736cc50bddec6ccce56ae1a1cdbfd inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb400f8869fab312c801fab02e70f547 inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb400f8869fab312c801fab02e70f547"></a>
typedef PtrTraits&lt; T &gt;::PtrType&#160;</td><td class="memItemRight" valign="bottom"><b>DataPtrType</b></td></tr>
<tr class="separator:afb400f8869fab312c801fab02e70f547 inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93bf6ccd5c40c1e936c5b9eb0aabc70f inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93bf6ccd5c40c1e936c5b9eb0aabc70f"></a>
typedef <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, <br class="typebreak"/>
InnerContig, IndexT, PtrTraits &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>TensorType</b></td></tr>
<tr class="separator:a93bf6ccd5c40c1e936c5b9eb0aabc70f inherit pub_types_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af9f2fbf3efff7eed5231fa7d26273ffa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9f2fbf3efff7eed5231fa7d26273ffa"></a>
__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#af9f2fbf3efff7eed5231fa7d26273ffa">DeviceTensor</a> ()</td></tr>
<tr class="memdesc:af9f2fbf3efff7eed5231fa7d26273ffa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br/></td></tr>
<tr class="separator:af9f2fbf3efff7eed5231fa7d26273ffa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed30ec2ee0d3e7c9b8b9b93f5d2acca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ed30ec2ee0d3e7c9b8b9b93f5d2acca"></a>
__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#a1ed30ec2ee0d3e7c9b8b9b93f5d2acca">~DeviceTensor</a> ()</td></tr>
<tr class="memdesc:a1ed30ec2ee0d3e7c9b8b9b93f5d2acca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr class="separator:a1ed30ec2ee0d3e7c9b8b9b93f5d2acca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a358b5346f88c3fc5b9bebcecb9349179"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a358b5346f88c3fc5b9bebcecb9349179"></a>
__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#a358b5346f88c3fc5b9bebcecb9349179">DeviceTensor</a> (<a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;&amp;t)</td></tr>
<tr class="memdesc:a358b5346f88c3fc5b9bebcecb9349179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br/></td></tr>
<tr class="separator:a358b5346f88c3fc5b9bebcecb9349179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae884d3cdfa70deb08d98ec90b638d359"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae884d3cdfa70deb08d98ec90b638d359"></a>
__host__ <a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a>&lt; T, Dim, <br class="typebreak"/>
InnerContig, IndexT, PtrTraits &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#ae884d3cdfa70deb08d98ec90b638d359">operator=</a> (<a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;&amp;t)</td></tr>
<tr class="memdesc:ae884d3cdfa70deb08d98ec90b638d359"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment. <br/></td></tr>
<tr class="separator:ae884d3cdfa70deb08d98ec90b638d359"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a802a79923a7927ad7f8845a4823d7e07"><td class="memItemLeft" align="right" valign="top">__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#a802a79923a7927ad7f8845a4823d7e07">DeviceTensor</a> (const IndexT <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>[Dim], MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="separator:a802a79923a7927ad7f8845a4823d7e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93af43f12045d0176efb56429b885b3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93af43f12045d0176efb56429b885b3e"></a>
__host__&#160;</td><td class="memItemRight" valign="bottom"><b>DeviceTensor</b> (std::initializer_list&lt; IndexT &gt; <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>, MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="separator:a93af43f12045d0176efb56429b885b3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a31cdeb8b2e4cf3398f24d2f4b01e44"><td class="memItemLeft" align="right" valign="top">__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#a6a31cdeb8b2e4cf3398f24d2f4b01e44">DeviceTensor</a> (<a class="el" href="classfaiss_1_1gpu_1_1DeviceMemory.html">DeviceMemory</a> &amp;m, const IndexT <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>[Dim], cudaStream_t stream, MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="separator:a6a31cdeb8b2e4cf3398f24d2f4b01e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbee06d77ec03cb3e7ca1452bb2ab445"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbee06d77ec03cb3e7ca1452bb2ab445"></a>
__host__&#160;</td><td class="memItemRight" valign="bottom"><b>DeviceTensor</b> (<a class="el" href="classfaiss_1_1gpu_1_1DeviceMemory.html">DeviceMemory</a> &amp;m, std::initializer_list&lt; IndexT &gt; <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>, cudaStream_t stream, MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="separator:afbee06d77ec03cb3e7ca1452bb2ab445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a150692d7a75ac74cded4f261dcacfd89"><td class="memItemLeft" align="right" valign="top">__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#a150692d7a75ac74cded4f261dcacfd89">DeviceTensor</a> (DataPtrType <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">data</a>, const IndexT <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>[Dim], MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="separator:a150692d7a75ac74cded4f261dcacfd89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a240d71ddb6380080b5d43acef327ed02"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a240d71ddb6380080b5d43acef327ed02"></a>
__host__&#160;</td><td class="memItemRight" valign="bottom"><b>DeviceTensor</b> (DataPtrType <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">data</a>, std::initializer_list&lt; IndexT &gt; <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>, MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="separator:a240d71ddb6380080b5d43acef327ed02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb0b3b58d906c23b5fff851fa21d7696"><td class="memItemLeft" align="right" valign="top">__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#abb0b3b58d906c23b5fff851fa21d7696">DeviceTensor</a> (DataPtrType <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">data</a>, const IndexT <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>[Dim], const IndexT <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a">strides</a>[Dim], MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="separator:abb0b3b58d906c23b5fff851fa21d7696"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04352077a309b808e9ac6ead3d8c817e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04352077a309b808e9ac6ead3d8c817e"></a>
__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#a04352077a309b808e9ac6ead3d8c817e">DeviceTensor</a> (<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t, cudaStream_t stream, MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="memdesc:a04352077a309b808e9ac6ead3d8c817e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies a tensor into ourselves, allocating memory for it locally. <br/></td></tr>
<tr class="separator:a04352077a309b808e9ac6ead3d8c817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acab1231fa38be85d6d4ed43e72747545"><td class="memItemLeft" align="right" valign="top">__host__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#acab1231fa38be85d6d4ed43e72747545">DeviceTensor</a> (<a class="el" href="classfaiss_1_1gpu_1_1DeviceMemory.html">DeviceMemory</a> &amp;m, <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t, cudaStream_t stream, MemorySpace space=MemorySpace::Device)</td></tr>
<tr class="separator:acab1231fa38be85d6d4ed43e72747545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6793f5bd0493b47693369670b1b02591"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6793f5bd0493b47693369670b1b02591"></a>
__host__ <a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a>&lt; T, Dim, <br class="typebreak"/>
InnerContig, IndexT, PtrTraits &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html#a6793f5bd0493b47693369670b1b02591">zero</a> (cudaStream_t stream)</td></tr>
<tr class="memdesc:a6793f5bd0493b47693369670b1b02591"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call to zero out memory. <br/></td></tr>
<tr class="separator:a6793f5bd0493b47693369670b1b02591"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classfaiss_1_1gpu_1_1Tensor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classfaiss_1_1gpu_1_1Tensor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">faiss::gpu::Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;</a></td></tr>
<tr class="memitem:a8ae7b3f95991125a5648c3b78afd40bd inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ae7b3f95991125a5648c3b78afd40bd"></a>
__host__ __device__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a8ae7b3f95991125a5648c3b78afd40bd">Tensor</a> ()</td></tr>
<tr class="memdesc:a8ae7b3f95991125a5648c3b78afd40bd inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br/></td></tr>
<tr class="separator:a8ae7b3f95991125a5648c3b78afd40bd inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4396d8789bb829a4d614900b2a632bc9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4396d8789bb829a4d614900b2a632bc9"></a>
__host__ __device__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a4396d8789bb829a4d614900b2a632bc9">Tensor</a> (<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t)</td></tr>
<tr class="memdesc:a4396d8789bb829a4d614900b2a632bc9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
<tr class="separator:a4396d8789bb829a4d614900b2a632bc9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37db8663b2fd9e1da8c4dea4e2bdb1f3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37db8663b2fd9e1da8c4dea4e2bdb1f3"></a>
__host__ __device__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a37db8663b2fd9e1da8c4dea4e2bdb1f3">Tensor</a> (<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;&amp;t)</td></tr>
<tr class="memdesc:a37db8663b2fd9e1da8c4dea4e2bdb1f3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br/></td></tr>
<tr class="separator:a37db8663b2fd9e1da8c4dea4e2bdb1f3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d831a352531281e06250cc6fe52a38a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d831a352531281e06250cc6fe52a38a"></a>
__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
Dim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a0d831a352531281e06250cc6fe52a38a">operator=</a> (<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t)</td></tr>
<tr class="memdesc:a0d831a352531281e06250cc6fe52a38a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment. <br/></td></tr>
<tr class="separator:a0d831a352531281e06250cc6fe52a38a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae086a03b8067e18d0c2dda0892dc9e39 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae086a03b8067e18d0c2dda0892dc9e39"></a>
__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
Dim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#ae086a03b8067e18d0c2dda0892dc9e39">operator=</a> (<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;&amp;t)</td></tr>
<tr class="memdesc:ae086a03b8067e18d0c2dda0892dc9e39 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment. <br/></td></tr>
<tr class="separator:ae086a03b8067e18d0c2dda0892dc9e39 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88210dee96fc97b00f0ab45749528fe9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88210dee96fc97b00f0ab45749528fe9"></a>
__host__ __device__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a88210dee96fc97b00f0ab45749528fe9">Tensor</a> (DataPtrType <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">data</a>, const IndexT <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>[Dim])</td></tr>
<tr class="memdesc:a88210dee96fc97b00f0ab45749528fe9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that calculates strides with no padding. <br/></td></tr>
<tr class="separator:a88210dee96fc97b00f0ab45749528fe9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a747a7b43c01f54158798b28728b2dfc0 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a747a7b43c01f54158798b28728b2dfc0"></a>
__host__ __device__&#160;</td><td class="memItemRight" valign="bottom"><b>Tensor</b> (DataPtrType <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">data</a>, std::initializer_list&lt; IndexT &gt; <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>)</td></tr>
<tr class="separator:a747a7b43c01f54158798b28728b2dfc0 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac651b20d86813b8928f05cde4fb1ff7d inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#ac651b20d86813b8928f05cde4fb1ff7d">Tensor</a> (DataPtrType <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">data</a>, const IndexT <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>[Dim], const IndexT <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a">strides</a>[Dim])</td></tr>
<tr class="separator:ac651b20d86813b8928f05cde4fb1ff7d inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dc00c182a92389b74c89ba7fcab40d3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6dc00c182a92389b74c89ba7fcab40d3"></a>
__host__ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a6dc00c182a92389b74c89ba7fcab40d3">copyFrom</a> (<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t, cudaStream_t stream)</td></tr>
<tr class="memdesc:a6dc00c182a92389b74c89ba7fcab40d3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies a tensor into ourselves; sizes must match. <br/></td></tr>
<tr class="separator:a6dc00c182a92389b74c89ba7fcab40d3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cc21376070a03d77661d6e333972c6a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cc21376070a03d77661d6e333972c6a"></a>
__host__ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a6cc21376070a03d77661d6e333972c6a">copyTo</a> (<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;t, cudaStream_t stream)</td></tr>
<tr class="memdesc:a6cc21376070a03d77661d6e333972c6a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies ourselves into a tensor; sizes must match. <br/></td></tr>
<tr class="separator:a6cc21376070a03d77661d6e333972c6a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3067941f8f8f09fc73e2f06243699825 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;typename OtherT , int OtherDim&gt; </td></tr>
<tr class="memitem:a3067941f8f8f09fc73e2f06243699825 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a3067941f8f8f09fc73e2f06243699825">isSame</a> (const <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; OtherT, OtherDim, InnerContig, IndexT, PtrTraits &gt; &amp;rhs) const </td></tr>
<tr class="separator:a3067941f8f8f09fc73e2f06243699825 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22c1e45f81f7f9e5427e2eed19f9cd11 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2"><a class="anchor" id="a22c1e45f81f7f9e5427e2eed19f9cd11"></a>
template&lt;typename OtherT , int OtherDim&gt; </td></tr>
<tr class="memitem:a22c1e45f81f7f9e5427e2eed19f9cd11 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a22c1e45f81f7f9e5427e2eed19f9cd11">isSameSize</a> (const <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; OtherT, OtherDim, InnerContig, IndexT, PtrTraits &gt; &amp;rhs) const </td></tr>
<tr class="memdesc:a22c1e45f81f7f9e5427e2eed19f9cd11 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the two tensors are of the same dimensionality and size. <br/></td></tr>
<tr class="separator:a22c1e45f81f7f9e5427e2eed19f9cd11 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2894f8fdfab8ec3245364a6f9e8a5259 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a2894f8fdfab8ec3245364a6f9e8a5259 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; U, <br class="typebreak"/>
Dim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a2894f8fdfab8ec3245364a6f9e8a5259">cast</a> ()</td></tr>
<tr class="separator:a2894f8fdfab8ec3245364a6f9e8a5259 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79a16bd4300ca8fdba52932c7c97cce9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2"><a class="anchor" id="a79a16bd4300ca8fdba52932c7c97cce9"></a>
template&lt;typename U &gt; </td></tr>
<tr class="memitem:a79a16bd4300ca8fdba52932c7c97cce9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ const <br class="typebreak"/>
<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; U, Dim, InnerContig, <br class="typebreak"/>
IndexT, PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a79a16bd4300ca8fdba52932c7c97cce9">cast</a> () const </td></tr>
<tr class="memdesc:a79a16bd4300ca8fdba52932c7c97cce9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const version of <code>cast</code> <br/></td></tr>
<tr class="separator:a79a16bd4300ca8fdba52932c7c97cce9 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c9640c365134ccc33cdb2695b016eb3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
<tr class="memitem:a6c9640c365134ccc33cdb2695b016eb3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; U, <br class="typebreak"/>
Dim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a6c9640c365134ccc33cdb2695b016eb3">castResize</a> ()</td></tr>
<tr class="separator:a6c9640c365134ccc33cdb2695b016eb3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae06338d9b19c62452c2111682447f863 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae06338d9b19c62452c2111682447f863"></a>
template&lt;typename U &gt; </td></tr>
<tr class="memitem:ae06338d9b19c62452c2111682447f863 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ const <br class="typebreak"/>
<a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; U, Dim, InnerContig, <br class="typebreak"/>
IndexT, PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#ae06338d9b19c62452c2111682447f863">castResize</a> () const </td></tr>
<tr class="memdesc:ae06338d9b19c62452c2111682447f863 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const version of <code>castResize</code> <br/></td></tr>
<tr class="separator:ae06338d9b19c62452c2111682447f863 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fbbf51f8ef6bea9cc863a86e20d994e inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7fbbf51f8ef6bea9cc863a86e20d994e"></a>
template&lt;typename U &gt; </td></tr>
<tr class="memitem:a7fbbf51f8ef6bea9cc863a86e20d994e inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a7fbbf51f8ef6bea9cc863a86e20d994e">canCastResize</a> () const </td></tr>
<tr class="memdesc:a7fbbf51f8ef6bea9cc863a86e20d994e inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if we can <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a6c9640c365134ccc33cdb2695b016eb3">castResize()</a> this tensor to the new type. <br/></td></tr>
<tr class="separator:a7fbbf51f8ef6bea9cc863a86e20d994e inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f0c817e9751fe02926c2346a97f0350 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;typename NewIndexT &gt; </td></tr>
<tr class="memitem:a9f0c817e9751fe02926c2346a97f0350 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, <br class="typebreak"/>
InnerContig, NewIndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a9f0c817e9751fe02926c2346a97f0350">castIndexType</a> () const </td></tr>
<tr class="separator:a9f0c817e9751fe02926c2346a97f0350 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ac9dc9fa8d81f2651a1be486c14ba62 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;typename NewIndexT &gt; </td></tr>
<tr class="memitem:a2ac9dc9fa8d81f2651a1be486c14ba62 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a2ac9dc9fa8d81f2651a1be486c14ba62">canUseIndexType</a> () const </td></tr>
<tr class="separator:a2ac9dc9fa8d81f2651a1be486c14ba62 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50411ce4d0fa32ef715e3321b6e33212 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50411ce4d0fa32ef715e3321b6e33212"></a>
__host__ __device__ DataPtrType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a50411ce4d0fa32ef715e3321b6e33212">data</a> ()</td></tr>
<tr class="memdesc:a50411ce4d0fa32ef715e3321b6e33212 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a raw pointer to the start of our data. <br/></td></tr>
<tr class="separator:a50411ce4d0fa32ef715e3321b6e33212 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1afd11b16869df9d352ee8ab1f8c7a1f inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ DataPtrType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a1afd11b16869df9d352ee8ab1f8c7a1f">end</a> ()</td></tr>
<tr class="separator:a1afd11b16869df9d352ee8ab1f8c7a1f inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afde15195e51318fd1811ea402f63c1ab inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afde15195e51318fd1811ea402f63c1ab"></a>
__host__ __device__ const <br class="typebreak"/>
DataPtrType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#afde15195e51318fd1811ea402f63c1ab">data</a> () const </td></tr>
<tr class="memdesc:afde15195e51318fd1811ea402f63c1ab inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a raw pointer to the start of our data (const). <br/></td></tr>
<tr class="separator:afde15195e51318fd1811ea402f63c1ab inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e6b9cd8cc3cc0bfe39bd3fed7733e51 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ DataPtrType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a7e6b9cd8cc3cc0bfe39bd3fed7733e51">end</a> () const </td></tr>
<tr class="separator:a7e6b9cd8cc3cc0bfe39bd3fed7733e51 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38adf20225c9f8f764aafe273c4ee122 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2"><a class="anchor" id="a38adf20225c9f8f764aafe273c4ee122"></a>
template&lt;typename U &gt; </td></tr>
<tr class="memitem:a38adf20225c9f8f764aafe273c4ee122 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ PtrTraits<br class="typebreak"/>
&lt; U &gt;::PtrType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a38adf20225c9f8f764aafe273c4ee122">dataAs</a> ()</td></tr>
<tr class="memdesc:a38adf20225c9f8f764aafe273c4ee122 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cast to a different datatype. <br/></td></tr>
<tr class="separator:a38adf20225c9f8f764aafe273c4ee122 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76383e7f62a826ba55955bd3d1dddce7 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2"><a class="anchor" id="a76383e7f62a826ba55955bd3d1dddce7"></a>
template&lt;typename U &gt; </td></tr>
<tr class="memitem:a76383e7f62a826ba55955bd3d1dddce7 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ const <br class="typebreak"/>
PtrTraits&lt; const U &gt;::PtrType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a76383e7f62a826ba55955bd3d1dddce7">dataAs</a> () const </td></tr>
<tr class="memdesc:a76383e7f62a826ba55955bd3d1dddce7 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cast to a different datatype. <br/></td></tr>
<tr class="separator:a76383e7f62a826ba55955bd3d1dddce7 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7926dc43f0fa998d16b9497676e118e6 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7926dc43f0fa998d16b9497676e118e6"></a>
__host__ __device__ <br class="typebreak"/>
<a class="el" href="classfaiss_1_1gpu_1_1detail_1_1SubTensor.html">detail::SubTensor</a>&lt; <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">TensorType</a>, <br class="typebreak"/>
Dim-1, PtrTraits &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a7926dc43f0fa998d16b9497676e118e6">operator[]</a> (IndexT)</td></tr>
<tr class="memdesc:a7926dc43f0fa998d16b9497676e118e6 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read/write view of a portion of our tensor. <br/></td></tr>
<tr class="separator:a7926dc43f0fa998d16b9497676e118e6 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c8ec0ba81275d369caac6f0324d80bd inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c8ec0ba81275d369caac6f0324d80bd"></a>
__host__ __device__ const <br class="typebreak"/>
<a class="el" href="classfaiss_1_1gpu_1_1detail_1_1SubTensor.html">detail::SubTensor</a>&lt; <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">TensorType</a>, <br class="typebreak"/>
Dim-1, PtrTraits &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a0c8ec0ba81275d369caac6f0324d80bd">operator[]</a> (IndexT) const </td></tr>
<tr class="memdesc:a0c8ec0ba81275d369caac6f0324d80bd inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read/write view of a portion of our tensor (const). <br/></td></tr>
<tr class="separator:a0c8ec0ba81275d369caac6f0324d80bd inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6699c311648457f257afa340c61f417c inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ IndexT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a6699c311648457f257afa340c61f417c">getSize</a> (int i) const </td></tr>
<tr class="separator:a6699c311648457f257afa340c61f417c inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b8bba630f7a1fa217f90b20d298420a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ IndexT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a0b8bba630f7a1fa217f90b20d298420a">getStride</a> (int i) const </td></tr>
<tr class="separator:a0b8bba630f7a1fa217f90b20d298420a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ba9ab7c1676b7a41a6e6b2e5a490d2f inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a0ba9ab7c1676b7a41a6e6b2e5a490d2f">numElements</a> () const </td></tr>
<tr class="separator:a0ba9ab7c1676b7a41a6e6b2e5a490d2f inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8220da958d022c322b80b0539c99f8d4 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a8220da958d022c322b80b0539c99f8d4">getSizeInBytes</a> () const </td></tr>
<tr class="separator:a8220da958d022c322b80b0539c99f8d4 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc0ecc4f882ee09632b5a06be0619adb inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc0ecc4f882ee09632b5a06be0619adb"></a>
__host__ __device__ const IndexT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a> () const </td></tr>
<tr class="memdesc:abc0ecc4f882ee09632b5a06be0619adb inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size array. <br/></td></tr>
<tr class="separator:abc0ecc4f882ee09632b5a06be0619adb inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87a777247486756e99060547a3cc833a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87a777247486756e99060547a3cc833a"></a>
__host__ __device__ const IndexT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a87a777247486756e99060547a3cc833a">strides</a> () const </td></tr>
<tr class="memdesc:a87a777247486756e99060547a3cc833a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the stride array. <br/></td></tr>
<tr class="separator:a87a777247486756e99060547a3cc833a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09019c54911db891c9321fd3b34509c2 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a09019c54911db891c9321fd3b34509c2">isContiguous</a> () const </td></tr>
<tr class="separator:a09019c54911db891c9321fd3b34509c2 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a663e3829c395372acdc8d2e71c0bdabe inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a663e3829c395372acdc8d2e71c0bdabe">isConsistentlySized</a> (int i) const </td></tr>
<tr class="separator:a663e3829c395372acdc8d2e71c0bdabe inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6bd3286c3e6b32ed9b335b9cb82637 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd6bd3286c3e6b32ed9b335b9cb82637"></a>
__host__ __device__ bool&#160;</td><td class="memItemRight" valign="bottom"><b>isConsistentlySized</b> () const </td></tr>
<tr class="separator:acd6bd3286c3e6b32ed9b335b9cb82637 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f4e3c6afdf4a03308756b6ae6462c38 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f4e3c6afdf4a03308756b6ae6462c38"></a>
__host__ __device__ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a3f4e3c6afdf4a03308756b6ae6462c38">isContiguousDim</a> (int i) const </td></tr>
<tr class="memdesc:a3f4e3c6afdf4a03308756b6ae6462c38 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the given dimension index has no padding. <br/></td></tr>
<tr class="separator:a3f4e3c6afdf4a03308756b6ae6462c38 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82a3484a6458e3e95bb91d320f2c6731 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
Dim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a82a3484a6458e3e95bb91d320f2c6731">transpose</a> (int dim1, int dim2) const </td></tr>
<tr class="separator:a82a3484a6458e3e95bb91d320f2c6731 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a309eb97e9c6dbfdecf383343c072d38c inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;int NewDim&gt; </td></tr>
<tr class="memitem:a309eb97e9c6dbfdecf383343c072d38c inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
NewDim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a309eb97e9c6dbfdecf383343c072d38c">upcastOuter</a> ()</td></tr>
<tr class="separator:a309eb97e9c6dbfdecf383343c072d38c inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee5cf46d16344e2a055cf63adb07d24a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;int NewDim&gt; </td></tr>
<tr class="memitem:aee5cf46d16344e2a055cf63adb07d24a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
NewDim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#aee5cf46d16344e2a055cf63adb07d24a">upcastInner</a> ()</td></tr>
<tr class="separator:aee5cf46d16344e2a055cf63adb07d24a inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2185b0c1c2c06cc3a4dab6a88eb6d001 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;int NewDim&gt; </td></tr>
<tr class="memitem:a2185b0c1c2c06cc3a4dab6a88eb6d001 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
NewDim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a2185b0c1c2c06cc3a4dab6a88eb6d001">downcastOuter</a> ()</td></tr>
<tr class="separator:a2185b0c1c2c06cc3a4dab6a88eb6d001 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a43125c6f429f28161d59f19eb8e5c5 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;int NewDim&gt; </td></tr>
<tr class="memitem:a6a43125c6f429f28161d59f19eb8e5c5 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
NewDim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a6a43125c6f429f28161d59f19eb8e5c5">downcastInner</a> ()</td></tr>
<tr class="separator:a6a43125c6f429f28161d59f19eb8e5c5 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74dbc09519c9c14479b2d18f2e5042e8 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;int SubDim&gt; </td></tr>
<tr class="memitem:a74dbc09519c9c14479b2d18f2e5042e8 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
SubDim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a74dbc09519c9c14479b2d18f2e5042e8">view</a> (DataPtrType at)</td></tr>
<tr class="separator:a74dbc09519c9c14479b2d18f2e5042e8 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a63cfa4034a8ee14a999132d8a1828 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;int SubDim&gt; </td></tr>
<tr class="memitem:a35a63cfa4034a8ee14a999132d8a1828 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
SubDim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a35a63cfa4034a8ee14a999132d8a1828">view</a> ()</td></tr>
<tr class="separator:a35a63cfa4034a8ee14a999132d8a1828 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2d0fc7199901a8e0788b58f0970b133 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
Dim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#ac2d0fc7199901a8e0788b58f0970b133">narrowOutermost</a> (IndexT start, IndexT size)</td></tr>
<tr class="separator:ac2d0fc7199901a8e0788b58f0970b133 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6db6bf86dd0f7e877af3a6ae2100fe3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
Dim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#ab6db6bf86dd0f7e877af3a6ae2100fe3">narrow</a> (int dim, IndexT start, IndexT size)</td></tr>
<tr class="separator:ab6db6bf86dd0f7e877af3a6ae2100fe3 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a665d97851f0929cad7fc76f945b64c97 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplParams" colspan="2">template&lt;int NewDim&gt; </td></tr>
<tr class="memitem:a665d97851f0929cad7fc76f945b64c97 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memTemplItemLeft" align="right" valign="top">__host__ __device__ <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, <br class="typebreak"/>
NewDim, InnerContig, IndexT, <br class="typebreak"/>
PtrTraits &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a665d97851f0929cad7fc76f945b64c97">view</a> (std::initializer_list&lt; IndexT &gt; <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#abc0ecc4f882ee09632b5a06be0619adb">sizes</a>)</td></tr>
<tr class="separator:a665d97851f0929cad7fc76f945b64c97 inherit pub_methods_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classfaiss_1_1gpu_1_1Tensor')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">faiss::gpu::Tensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;</a></td></tr>
<tr class="memitem:a2ec506a25e46cf7001060a6ba5ae3b94 inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ec506a25e46cf7001060a6ba5ae3b94"></a>
DataPtrType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#a2ec506a25e46cf7001060a6ba5ae3b94">data_</a></td></tr>
<tr class="memdesc:a2ec506a25e46cf7001060a6ba5ae3b94 inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw pointer to where the tensor data begins. <br/></td></tr>
<tr class="separator:a2ec506a25e46cf7001060a6ba5ae3b94 inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4b8fe4b632cdca51ee7972ed93fc3fa inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4b8fe4b632cdca51ee7972ed93fc3fa"></a>
IndexT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#af4b8fe4b632cdca51ee7972ed93fc3fa">stride_</a> [Dim]</td></tr>
<tr class="memdesc:af4b8fe4b632cdca51ee7972ed93fc3fa inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array of strides (in sizeof(T) terms) per each dimension. <br/></td></tr>
<tr class="separator:af4b8fe4b632cdca51ee7972ed93fc3fa inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad96fbf0f5e7c06a1031b8b18f7fc01d7 inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad96fbf0f5e7c06a1031b8b18f7fc01d7"></a>
IndexT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html#ad96fbf0f5e7c06a1031b8b18f7fc01d7">size_</a> [Dim]</td></tr>
<tr class="memdesc:ad96fbf0f5e7c06a1031b8b18f7fc01d7 inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size per each dimension. <br/></td></tr>
<tr class="separator:ad96fbf0f5e7c06a1031b8b18f7fc01d7 inherit pro_attribs_classfaiss_1_1gpu_1_1Tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T, int Dim, bool InnerContig = false, typename IndexT = int, template&lt; typename U &gt; class PtrTraits = traits::DefaultPtrTraits&gt;<br/>
class faiss::gpu::DeviceTensor&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;</h3>


<p>Definition at line <a class="el" href="DeviceTensor_8cuh_source.html#l00022">22</a> of file <a class="el" href="DeviceTensor_8cuh_source.html">DeviceTensor.cuh</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a802a79923a7927ad7f8845a4823d7e07"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, int Dim, bool InnerContig, typename IndexT, template&lt; typename U &gt; class PtrTraits&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">__host__ <a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">faiss::gpu::DeviceTensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;::<a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a> </td>
          <td>(</td>
          <td class="paramtype">const IndexT&#160;</td>
          <td class="paramname"><em>sizes</em>[Dim], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MemorySpace&#160;</td>
          <td class="paramname"><em>space</em> = <code>MemorySpace::Device</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructs a tensor of the given size, allocating memory for it locally </p>

<p>Definition at line <a class="el" href="DeviceTensor-inl_8cuh_source.html#l00070">70</a> of file <a class="el" href="DeviceTensor-inl_8cuh_source.html">DeviceTensor-inl.cuh</a>.</p>

</div>
</div>
<a class="anchor" id="a6a31cdeb8b2e4cf3398f24d2f4b01e44"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, int Dim, bool InnerContig, typename IndexT, template&lt; typename U &gt; class PtrTraits&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">__host__ <a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">faiss::gpu::DeviceTensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;::<a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classfaiss_1_1gpu_1_1DeviceMemory.html">DeviceMemory</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const IndexT&#160;</td>
          <td class="paramname"><em>sizes</em>[Dim], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cudaStream_t&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MemorySpace&#160;</td>
          <td class="paramname"><em>space</em> = <code>MemorySpace::Device</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructs a tensor of the given size, reserving a temporary memory reservation via a memory manager. The memory reservation should be ordered with respect to the given stream. </p>

<p>Definition at line <a class="el" href="DeviceTensor-inl_8cuh_source.html#l00099">99</a> of file <a class="el" href="DeviceTensor-inl_8cuh_source.html">DeviceTensor-inl.cuh</a>.</p>

</div>
</div>
<a class="anchor" id="a150692d7a75ac74cded4f261dcacfd89"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, int Dim, bool InnerContig, typename IndexT, template&lt; typename U &gt; class PtrTraits&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">__host__ <a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">faiss::gpu::DeviceTensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;::<a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a> </td>
          <td>(</td>
          <td class="paramtype">DataPtrType&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const IndexT&#160;</td>
          <td class="paramname"><em>sizes</em>[Dim], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MemorySpace&#160;</td>
          <td class="paramname"><em>space</em> = <code>MemorySpace::Device</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructs a tensor of the given size and stride, referencing a memory region we do not own </p>

<p>Definition at line <a class="el" href="DeviceTensor-inl_8cuh_source.html#l00140">140</a> of file <a class="el" href="DeviceTensor-inl_8cuh_source.html">DeviceTensor-inl.cuh</a>.</p>

</div>
</div>
<a class="anchor" id="abb0b3b58d906c23b5fff851fa21d7696"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, int Dim, bool InnerContig, typename IndexT, template&lt; typename U &gt; class PtrTraits&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">__host__ <a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">faiss::gpu::DeviceTensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;::<a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a> </td>
          <td>(</td>
          <td class="paramtype">DataPtrType&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const IndexT&#160;</td>
          <td class="paramname"><em>sizes</em>[Dim], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const IndexT&#160;</td>
          <td class="paramname"><em>strides</em>[Dim], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MemorySpace&#160;</td>
          <td class="paramname"><em>space</em> = <code>MemorySpace::Device</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructs a tensor of the given size and stride, referencing a memory region we do not own </p>

<p>Definition at line <a class="el" href="DeviceTensor-inl_8cuh_source.html#l00164">164</a> of file <a class="el" href="DeviceTensor-inl_8cuh_source.html">DeviceTensor-inl.cuh</a>.</p>

</div>
</div>
<a class="anchor" id="acab1231fa38be85d6d4ed43e72747545"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, int Dim, bool InnerContig, typename IndexT, template&lt; typename U &gt; class PtrTraits&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">__host__ <a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">faiss::gpu::DeviceTensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt;::<a class="el" href="classfaiss_1_1gpu_1_1DeviceTensor.html">DeviceTensor</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classfaiss_1_1gpu_1_1DeviceMemory.html">DeviceMemory</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classfaiss_1_1gpu_1_1Tensor.html">Tensor</a>&lt; T, Dim, InnerContig, IndexT, PtrTraits &gt; &amp;&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cudaStream_t&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MemorySpace&#160;</td>
          <td class="paramname"><em>space</em> = <code>MemorySpace::Device</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Copies a tensor into ourselves, reserving a temporary memory reservation via a memory manager. </p>

<p>Definition at line <a class="el" href="DeviceTensor-inl_8cuh_source.html#l00193">193</a> of file <a class="el" href="DeviceTensor-inl_8cuh_source.html">DeviceTensor-inl.cuh</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/data/users/hoss/faiss/gpu/utils/<a class="el" href="DeviceTensor_8cuh_source.html">DeviceTensor.cuh</a></li>
<li>/data/users/hoss/faiss/gpu/utils/<a class="el" href="DeviceTensor-inl_8cuh_source.html">DeviceTensor-inl.cuh</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
